package com.yuanchu.search.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data;

import java.io.Serializable;

/**
 * 文件库记录表
 * @TableName yoshop_upload_file
 */
@TableName(value ="yoshop_upload_file")
@Data
public class YoshopUploadFileEntity implements Serializable {
    /**
     * 文件ID
     */
    @JsonProperty("file_id")
    @TableId(type = IdType.AUTO)
    private Integer fileId;

    /**
     * 文件分组ID
     */
    @JsonProperty("group_id")
    private Integer groupId;

    /**
     * 上传来源(10商户后台 20用户端)
     */
    private Integer channel;

    /**
     * 存储方式
     */
    private String storage;

    /**
     * 存储域名
     */
    private String domain;

    /**
     * 文件类型(10图片 20附件 30视频)
     */
    @JsonProperty("file_type")
    private Integer fileType;

    /**
     * 文件名称(仅显示)
     */
    @JsonProperty("file_name")
    private String fileName;

    /**
     * 文件路径
     */
    @JsonProperty("file_path")
    private String filePath;

    /**
     * 文件大小(字节)
     */
    @JsonProperty("file_size")
    private Integer fileSize;

    /**
     * 文件扩展名
     */
    @JsonProperty("file_ext")
    private String fileExt;

    /**
     * 文件封面
     */

    private String cover;

    /**
     * 上传者用户ID
     */
    @JsonProperty("uploader_id")
    private Integer uploaderId;

    /**
     * 是否在回收站
     */
    @JsonProperty("is_recycle")
    private Integer isRecycle;

    /**
     * 是否删除
     */
    @JsonProperty("is_delete")
    private Integer isDelete;

    /**
     * 商城ID
     */
    @JsonProperty("store_id")
    private Integer storeId;

    /**
     * 创建时间
     */
    @JsonProperty("create_time")
    private String createTime;

    /**
     * 更新时间
     */
    @JsonProperty("update_time")
    private String updateTime;
    @TableField(exist = false)
    @JsonProperty("preview_url")
    private String previewUrl;

    @TableField(exist = false)
    @JsonProperty("external_url")
    private String externalUrl;

    @TableField(exist = false)
    private static final long serialVersionUID = 1L;
}